// 公共类型
interface commonType {
  code: number
  message: string
  ok: boolean
}
// 医院预约挂号详情数据类型
export interface hoscodeDataType {
  bookingRule: {
    cycle: number
    releaseTime: string
    stopTime: string
    quitDay: number
    quitTime: string
    rule: string[]
  }
  hospital: {
    id: string
    createTime: string
    updateTime: string
    isDeleted: number
    param: {
      hostypeString: string
      fullAddress: string
    }
    hoscode: string
    hosname: string
    hostype: string
    provinceCode: string
    cityCode: string
    districtCode: string
    address: string
    logoData: string
    intro: null
    route: string
    status: number
    bookingRule: null
  }
}

export interface hoscodeType extends commonType {
  data: hoscodeDataType
}

// 医院预约挂号详情请求返回返回数据类型
export interface responseHoscodeType {
  data: hoscodeType
}

// 医院科室列表数据类型
export interface departmentDataType {
  depcode: string
  depname: string
  children: {
    depcode: string
    depname: string
    children: null
  }[]
}

interface departmentType extends commonType {
  data: departmentDataType[]
}

// 医院科室列表请求返回数据类型
export interface responseDepartmentType {
  data: departmentType
}

// 医院可预约排版数据
export interface ruleDataType {
  total: number
  bookingScheduleList: {
    workDate: string
    workDateMd: string
    dayOfWeek: string
    docCount: number
    reservedNumber: number
    availableNumber: number
    status: number
  }[]
  baseMap: {
    workDateString: string
    releaseTime: string
    bigname: string
    stopTime: string
    depname: string
    hosname: string
  }
}
interface ruleType extends commonType {
  data: ruleDataType
}
// 请求返回数据
export interface responseRuleDataType {
  data: ruleType
}

// 排班数据
export interface workDataType {
  id: string
  createTime: string
  updateTime: string
  isDeleted: number
  param: {
    dayOfWeek: string
    depname: string
    hosname: string
  }
  hoscode: string
  depcode: string
  title: string
  docname: string
  skill: string
  workDate: string
  workTime: number
  reservedNumber: number
  availableNumber: number
  amount: number
  status: number
  hosScheduleId: string
}

interface workDataListType extends commonType {
  data: workDataType[]
}

export interface responseWorkListDataType {
  data: workDataListType
}

// 获取排班数据
interface workType extends commonType {
  data: workDataType
}

export interface responseWorkDataType {
  data: workType
}
